home *** CD-ROM | disk | FTP | other *** search
/ The Utilities Experience / The Utilities Experience - Volume 1.iso / software / rendering / utilities / dust / dustmd / doc / dustmd.doc
Encoding:
Text File  |  1995-07-19  |  9.2 KB  |  301 lines

  1. ###############################################################################
  2. #                                                                             #
  3. #                Dust V2.00 - Copyright ©1994 by A.Maschke                    #
  4. #                           All rights reserved.                              #
  5. #-----------------------------------------------------------------------------#
  6. #                                                                             #
  7. #              DustMD v0.2 - Visualization of Molecular Dynamics              #
  8. #                                                                             #
  9. ###############################################################################
  10.  
  11. INDEX
  12.  1. Introduction
  13.  2. Description of md2dust
  14.  3. Description of md2rpl
  15.  4. What is MDAr ?
  16.  5. Supplied files
  17.  6. Some more notes
  18.  7. Author, rights and literature
  19.  
  20. 1. Introduction
  21. -------------------------------------------------------------------------------
  22.  
  23. MD is a new external particle-effect for Dust and Real3D. The program
  24. mdar calculates the particle-positions and outputs data you can
  25. plot using gnuplot. md2dust generates a script which
  26. will drive Dust to generate the final objects using this data-files.
  27. The program md2real writes rpl-programs to create the objects *and*
  28. the frames.
  29.  
  30.  
  31. IT'S STRONGLY RECOMMENDED TO HAVE A LOOK AT THE SUPPLIED ANIMATION
  32. BEFORE READING THIS TEXT.
  33.  
  34. Please look for more than 5 seconds at the animation otherwise you can't
  35. recognise the complicated process
  36. (The motion of every atom depends on the motion of all other atoms.)
  37.  
  38. 2. Description of md2dust
  39. -------------------------------------------------------------------------------
  40.  
  41. You can use md2dust to create your own effects, too. It reads
  42. in <Nnum> data-files "md.1", "md.2", ... .
  43. Every file contains the coordinates of one particle over
  44. the whole time.
  45. The number of data-points of the files is equal to the number
  46. of final particle-objects. After reading the points md2dust
  47. creates a Dust-script which loads the base-particle-object
  48. and applies the new coordinates to it.
  49.  
  50. Example:
  51.  
  52.  3 particles:
  53.     motion of particle 0: (0,1,2)->(2,3,4)->(4,5,7)
  54.     motion of particle 1: (3,4,2)->(1,3,2)->(1,2,6)
  55.     motion of particle 2: (4,5,7)->(3,1,2)->(4,5,4)
  56.  
  57. *You have to create the following data-files:
  58.  (Normally your solver should create such data-files)
  59.   file "md.1":
  60.    0 1 2
  61.    2 3 4
  62.    4 5 7
  63.   file "md.2":
  64.    3 4 2
  65.    1 3 2
  66.    1 2 6
  67.   file "md.3":
  68.    4 5 7
  69.    3 1 2
  70.    4 5 4
  71.  
  72. *After that you have to create a particle-object of 3 particles (spheres).
  73.  Name it "part0".
  74.  
  75. *Now you can run md2dust:
  76.  
  77.   md2dust md 3 3 mdar.dust part0 100.0
  78.  
  79.  ("md" is the base name for your data-files,"3" the number of particles, the
  80.   next "3" the number of points (=objects), "mdar.dust" ist the Dust-script,
  81.   "part0" is the base-particle and "100.0" the scale-factor for all points.)
  82.  
  83. *You get a script "mdar.dust" looking like this:
  84.   load(1,part0)
  85.    setppos(1,0,0,100,200)
  86.    setppos(1,1,300,400,200)
  87.    setppos(1,2,400,500,700)
  88.   savepobj(1,part.0001)
  89.   load(1,part0)
  90.    setppos(1,0,200,300,400)
  91.    setppos(1,1,100,300,200)
  92.    setppos(1,2,300,100,200)
  93.   savepobj(1,part.0002)
  94.   load(1,part0)
  95.    setppos(1,0,400,500,700)
  96.    setppos(1,1,100,200,600)
  97.    setppos(1,2,400,500,400)
  98.   savepobj(1,part.0003)
  99.  
  100. *Create the objects using Dust:
  101.   dust mdar.dust .
  102.  
  103. 3. Description of md2rpl
  104. -------------------------------------------------------------------------------
  105.  
  106. The program md2rpl creates two rpl-programs. The first file (the one with the
  107. "test"-extension) is for adjusting the scene. It creates the first particle
  108. object and refreshes the windows. The render-file (with no extension)
  109. creates all objects sequentially, renders the pictures which are saved
  110. as "images/md/pic.1, images/md/pic.2, ..." - be sure to have this
  111. directory !
  112.  
  113. Usage:
  114.  md2rpl <data-files> <particles> <frames> <rpl-file> <scale-factor>
  115. Example:
  116.  md2rpl md.posI 256 200 mdar.rpl 0.8
  117.  (this options I used to create the included animation)
  118.  
  119. After creating the rpl-files you have to create the scene:
  120.  -start Real3D, rename your root-level as "root" (not "Root")
  121.  -open a RPL-Window
  122.  -enter "mdar.rpl.test" LOAD"
  123.  -select the level "particle"
  124.  -open a render-screen (maybe DBLPAL HAM8) with the
  125.   name "Real.1", set public-screen-flag (yes,the name and the
  126.   public-screen-flag are important)
  127.  -open a View-window on this screen
  128.  -choose the Menu "View/ViewCam/Autofocus"
  129.   (now you should see the balls)
  130.  -adjust the windowsize, renderflags, rotate the view,...
  131.   (define your scene)
  132.  -delete the "particle"-level
  133.  -save the scene
  134.  
  135. To render all frames simply load your scene, open a RPL-window
  136. and enter "mdar.rpl LOAD" - be sure to have no windows
  137. in front your render-window because the *screen* will be saved.
  138.  
  139. NOTES: 1. After a crash you can continue the rendering after editing
  140.           the script "mdar.rpl":
  141.           Say, your last rendered frame is frame 123. Edit the file.
  142.           Search for "frame.1". Choose the "Mark block"-function of
  143.           your editor. Search for "frame.124". Choose the "Delete block"-
  144.           function after moving the cursor to the previous line.
  145.           Save it.
  146.        2. You can change the attributes of the spheres editing the
  147.           MakeSphere-procedure of the generated rpl-programs.
  148.  
  149. 4. What is MDAr ?
  150. -------------------------------------------------------------------------------
  151.  
  152.  For the theory consult the literature mentioned below.
  153.  (If you have any detailed question send me mail - a description
  154.  in this manual is impossible because I don't know where
  155.  to start.)
  156.  
  157.  A short and easy description could look like this:
  158.  
  159.   MD computes the motion of Argon-atoms in a box at a constant
  160.   temperature. The initial conditions are velocities satisfying the
  161.   Maxwell-statistic. The boundary conditions are periodic,
  162.   a Lennard-Jones-potential describes the forces between
  163.   the atoms. After reaching the reference-temperature the box is opened.
  164.  
  165.  Because *every* atom interacts with all other atoms there are *lots* of
  166.  calculations to be done.
  167.  
  168.  Before to run the program you have to create a job-file looking
  169.  *exactly* like this:
  170.  
  171. ----------START OF FILE------------
  172. ;comment
  173. N 32
  174. rho 0.636
  175. Tref 2.53
  176. L 10.229
  177. h 0.1
  178. sigma 0.3405e-9
  179. eps 119.8
  180. m 6.63382e-26
  181. rc 2.5
  182. timemx 300
  183. irep 5
  184. istop 100
  185. iseed 1234
  186. writestate 1
  187. writepos -1
  188. posind 1
  189. showstate 30
  190. usetbl 0
  191. crtbl 20
  192. calcg 0
  193. statename md.stateI
  194. posname md.posI
  195. gname md.gI
  196. dofcc 1
  197. tconst 0
  198. ----------END OF FILE-----------
  199.  
  200. Parameters of interest:
  201.  
  202. N          : number of particles: if(fcc==0): any number between 32..256
  203.                                   if(fcc!=0): 32,108 or 256
  204. rho        : density (0.6..2.0)
  205. Tref       : temperature (0.5..3)
  206. L
  207. h          : time-step (0.01..0.1)
  208. sigma
  209. eps
  210. m
  211. rc
  212. timemx     : (number of objects) * 2                  \
  213. irep       : (number of objects) / 40 (suggested)      > (timemx-istop)=number of objects
  214. istop      : number of objects    (suggested)         /
  215. iseed
  216. writestate
  217.  
  218. writepos   : -1 !!!!!
  219. posind
  220. showstate
  221. usetbl     : some speedup (if set to 1)
  222. crtbl      : 20
  223. calcg      : 0  !!!!! (otherwise time-wasting)
  224. statename  :
  225. posname    : base-filename
  226. gname      :
  227. dofcc      : initial condition: create a fcc-lattice (if not set to 0)
  228. tconst     : if(tconst!=0): keep periodic bounding conditions after calibration (looks bad)
  229.  
  230. Keep all other values unchanged.
  231.  
  232.  
  233. 5. Supplied files
  234. -------------------------------------------------------------------------------
  235.  
  236. *drawer doc:
  237.   DustMD.doc - this file
  238.  
  239. *drawer script:
  240.   mdar.dust     - first part of the Dust-script created by md2dust
  241.                   (this script creates only the 1st object.)
  242.   md.script     - shell-script which runs md2dust to create the
  243.                   complete mdar.dust-script
  244.   mdar.rpl.test - the test-RPL-file, execute it by typing
  245.                   "mdar.rpl.test" LOAD
  246.                   into a RPL-window
  247.                   (the mdar.rpl-file is too large(1.5MB) to be included here)
  248. *drawer objects:
  249.   2 objects and the Dust-script which creates the base-particle-object
  250.   using this objects
  251.  
  252. *drawer src:
  253.   private
  254.  
  255. *drawer bin:
  256.   executables for every Amiga (cc -O3 )
  257.   executables with the extension "040" for turbo-machines (cc -O3 -m68040)
  258.  
  259. *drawer data:
  260.   md/md.#?    - data-files created by mdar
  261.   taski       - job-file for mdar (start it typing "mdar taski")
  262.  
  263. *MD.anim5   : the animation
  264.  
  265. 6. Some more notes
  266. -------------------------------------------------------------------------------
  267.  
  268. (i)  I'm sure, this a very bad documentation.
  269.      If you don't understand anything described here don't hesitate to
  270.      send me a mail.
  271.  
  272. (ii) If there where many people which are interested in this effect I
  273.      could improve the user-interface, simplify the options, add some
  274.      more features, ...
  275.  
  276. 7. Author, rights and literature
  277. -------------------------------------------------------------------------------
  278.  
  279.  Author:
  280.     Andreas Maschke
  281.     Zenkerstraße 5
  282.     06108 Halle/Saale
  283.     Germany
  284.  
  285.     Phone: ++49 (0)345/5170331
  286.     EMail: epgbc@cluster1.urz.Uni-Halle.DE
  287.  
  288.  Rights:
  289.     The DustMD-package belongs to the Dust-project. Dust is SHAREWARE
  290.     with a fee of $25 or 25 DM + postage.
  291.  
  292.  Literature:
  293.     A. Rahman, Physical Review 136, A405 (1964)
  294.  
  295.     D.W. Heermann, Computer Simulation Methods in Theoretical Physics,
  296.     2nd Edition, Springer-Verlag 1990
  297.  
  298.  
  299. (19 July 1995)
  300.  
  301.